Skip to content

Conversation

@VladislavVoskoboinik
Copy link
Contributor

Изменения

Добавил ручку, которая кладет данные рейтинга препода в бд

Детали реализации

Check-List

  • Вы проверили свой код перед отправкой запроса?
  • Вы написали тесты к реализованным функциям?
  • Вы не забыли применить форматирование black и isort для Back-End или Prettier для Front-End?

@github-actions
Copy link

💩 Code linting failed, use black and isort to fix it.

@github-actions
Copy link

github-actions bot commented Aug 24, 2025

Code Coverage

Coverage Report
FileStmtsMissCoverMissing
rating_api
   __main__.py440%1–7
   exceptions.py43784%35–37, 48–50, 58
rating_api/models
   base.py64494%24–27
   db.py133795%116, 118, 120, 122, 133, 171, 189
rating_api/routes
   base.py16194%41
   comment.py1233076%64, 82, 124–125, 146–155, 220–221, 223–224, 232–237, 264, 277, 304–315, 346
   exc_handlers.py32391%36, 43, 50
   lecturer.py103991%68–69, 79, 85–86, 204, 212, 230, 236
rating_api/schemas
   base.py12467%6–9
   models.py141398%180, 182, 192
rating_api/utils
   mark.py8362%16–20
TOTAL7137589% 

Summary

Tests Skipped Failures Errors Time
73 0 💤 0 ❌ 0 🔥 20.328s ⏱️

Copy link
Member

@Zimovchik Zimovchik left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Если ты не будешь каждый раз чистить табличку и заполнять ее заново, это позволит обеспечить консистентность. У тебя не будет ни единого момента, когда кто-то из лекторов будет без оценки, потому что может ты базу очистишь, а потом все ляжет и заново она не дозаполнится

а чтобы решить проблему первого заполнения, можно сделать nullable=False, default= 0, например

@Zimovchik
Copy link
Member

соответственно

  • делаем relationship для двух табличек, чтобы там точно были одни и те же айдишники, желательно чтобы был типо id, lecturer_id, так будет проще.
  • заполняем patch-ами, а не post-ами
  • дергаем ручку 1 раз на список, а не по разу на каждого преподавателя
  • разбираемся с аутхом и скоупом
  • если ты решаешь делать отдельную табличку, то нужно будет актуализировать работу других ручек добавив в табличку lecturer например hybrid_property или как то еще. Либо просто отказаться от идеи доп таблички и писать в табличку lecturer. В общем то варианты равноправные, не могу сказать, что мне какой то нравится больше, но второй как будто проще поддерживать и проще написать, подводных камней очевидных я не вижу

@github-actions
Copy link

💩 Code linting failed, use black and isort to fix it.

rank: Mapped[int] = mapped_column(
Integer, nullable=False, server_default='0', default=0, comment="Место в рейтинге, посчитана в dwh"
)
rank_update_ts: Mapped[datetime.datetime] = mapped_column(
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

респект, правильно, что добавил

Comment on lines 206 to 209
async def delete_lecturer(
id: int, _=Depends(UnionAuth(scopes=["rating.lecturer.delete"], allow_none=False, auto_error=True))
):
async def delete_lecturer(id: int, allow_none=False, auto_error=True):
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

это че такое?)

@Zimovchik Zimovchik merged commit 6045c5d into main Sep 4, 2025
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants